[INFO] cloning repository https://github.com/HrOice/ShadowRoute
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/HrOice/ShadowRoute" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHrOice%2FShadowRoute", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHrOice%2FShadowRoute'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e3382fa81c1ccf24b5cef9b4efa7498185700341
[INFO] fixing HrOice/ShadowRoute against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHrOice%2FShadowRoute" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/HrOice/ShadowRoute
[INFO] finished tweaking git repo https://github.com/HrOice/ShadowRoute
[INFO] tweaked toml for git repo https://github.com/HrOice/ShadowRoute written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/HrOice/ShadowRoute on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/HrOice/ShadowRoute already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cf6fc4981192553356502640bcbefaef6a6e5d2966a9fe33a295434c5bda0724
[INFO] running `Command { std: "docker" "start" "cf6fc4981192553356502640bcbefaef6a6e5d2966a9fe33a295434c5bda0724", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cf6fc4981192553356502640bcbefaef6a6e5d2966a9fe33a295434c5bda0724" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cf6fc4981192553356502640bcbefaef6a6e5d2966a9fe33a295434c5bda0724", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cf6fc4981192553356502640bcbefaef6a6e5d2966a9fe33a295434c5bda0724" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking core-foundation-sys v0.8.7
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]     Checking security-framework-sys v2.15.0
[INFO] [stderr]     Checking core-foundation v0.10.1
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking security-framework v3.5.1
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.18
[INFO] [stderr]     Checking ShadowRoute v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `security_framework::authorization`
[INFO] [stdout]    --> src/repo/tproxy.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 |     use security_framework::authorization::*;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ could not find `authorization` in `security_framework`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/repo/tproxy.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn write(&self, content: Vec<PortRedirect>) -> io::Result<()> {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/repo/tproxy.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn write(&self, content: Vec<PortRedirect>) -> io::Result<()> {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/repo/tproxy.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn write(&self, content: Vec<PortRedirect>) -> io::Result<()> {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/repo/tproxy.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn write(&self, content: Vec<PortRedirect>) -> io::Result<()> {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/env/env.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |             let mut env: &mut Env = env_pool.get_env_mut(env_id).unwrap();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/env/env.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |             let mut prod = env_pool.get_env_mut(env_id).unwrap();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Mac` is more private than the item `PlatformProxy::Mac::0`
[INFO] [stdout]   --> src/repo/tproxy.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Mac(Mac),
[INFO] [stdout]    |         ^^^ field `PlatformProxy::Mac::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Mac` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/repo/tproxy.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Mac {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `tproxy::Windows` is more private than the item `PlatformProxy::Windows::0`
[INFO] [stdout]   --> src/repo/tproxy.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Windows(Windows),
[INFO] [stdout]    |             ^^^^^^^ field `PlatformProxy::Windows::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `tproxy::Windows` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/repo/tproxy.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct Windows;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Linux` is more private than the item `PlatformProxy::Linux::0`
[INFO] [stdout]   --> src/repo/tproxy.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Linux(Linux),
[INFO] [stdout]    |           ^^^^^ field `PlatformProxy::Linux::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Linux` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/repo/tproxy.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Linux;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_request` is never used
[INFO] [stdout]    --> src/service/http_service.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn print_request(req: &Request<Incoming>, body: &Bytes) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_response` is never used
[INFO] [stdout]    --> src/service/http_service.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn print_response(parts: &Parts, body: &Bytes) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `repo` is never read
[INFO] [stdout]  --> src/service/rule_service.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct RuleService {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 8 |     repo: Option<JsonFileRuleRepo>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_empty`, `instance`, `get_data`, and `save_data` are never used
[INFO] [stdout]   --> src/service/rule_service.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl RuleService {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn new_empty() -> RuleService {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn instance() -> Arc<RuleService> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn get_data(&self) -> &Vec<RouteRule> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn save_data(&mut self, data: Vec<RouteRule>) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `env_pool` and `rule_service` are never read
[INFO] [stdout]  --> src/model/app.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AppContext {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 7 |     pub env_pool: ArcSwap<EnvPool>,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 8 |     pub rule_service: Arc<crate::service::rule_service::RuleService>,
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/repo/rule_repo.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 |     Io(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RepoError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 44 -     Io(io::Error),
[INFO] [stdout] 44 +     Io(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/repo/rule_repo.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Serde(serde_json::Error),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RepoError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 45 -     Serde(serde_json::Error),
[INFO] [stdout] 45 +     Serde(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PortRedirect` is never constructed
[INFO] [stdout]  --> src/repo/tproxy.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct PortRedirect {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PlatformProxy` is never used
[INFO] [stdout]   --> src/repo/tproxy.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum PlatformProxy {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RedirectMode` is never used
[INFO] [stdout]   --> src/repo/tproxy.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum RedirectMode {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TProxy` is never used
[INFO] [stdout]   --> src/repo/tproxy.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait TProxy {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mac` is never constructed
[INFO] [stdout]   --> src/repo/tproxy.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Mac {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Windows` is never constructed
[INFO] [stdout]   --> src/repo/tproxy.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct Windows;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Linux` is never constructed
[INFO] [stdout]   --> src/repo/tproxy.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Linux;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_pf_rule` is never used
[INFO] [stdout]   --> src/repo/tproxy.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl PortRedirect {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 36 |     fn to_pf_rule(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `backup`, `restore`, `write`, and `load_proxy` are never used
[INFO] [stdout]    --> src/repo/tproxy.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl PlatformProxy {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 134 |     pub fn backup(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn restore(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn write(&self, rules: Vec<PortRedirect>) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn load_proxy(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_platform` is never used
[INFO] [stdout]    --> src/repo/tproxy.rs:167:4
[INFO] [stdout]     |
[INFO] [stdout] 167 | fn load_platform() -> PlatformProxy {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]    --> src/repo/tproxy.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn init(rules: Vec<PortRedirect>) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_sudo_gui` is never used
[INFO] [stdout]    --> src/repo/tproxy.rs:193:4
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn ask_sudo_gui(command: &str) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set` is never used
[INFO] [stdout]   --> src/env/env.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Env {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn set(&mut self, key: String, val: String) -> Option<String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_current_env`, `get_current_env`, `get_env_mut`, `add_env`, `remove_env`, and `save` are never used
[INFO] [stdout]    --> src/env/env.rs:46:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl EnvPool {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn set_current_env(&mut self, id: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn get_current_env(&self) -> Option<&Env> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn get_env_mut(&mut self, id: u16) -> Option<&mut Env> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn add_env(&mut self, name: String) -> u16 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn remove_env(&mut self, id: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn save(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ShadowRoute` (bin "ShadowRoute" test) due to 1 previous error; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "cf6fc4981192553356502640bcbefaef6a6e5d2966a9fe33a295434c5bda0724", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf6fc4981192553356502640bcbefaef6a6e5d2966a9fe33a295434c5bda0724", kill_on_drop: false }`
[INFO] [stdout] cf6fc4981192553356502640bcbefaef6a6e5d2966a9fe33a295434c5bda0724
